1. Field of the Invention
The present invention relates to signal processing and, more specifically but not exclusively, to linearizing non-linear systems, such as non-linear amplifiers, using digital pre-distortion.
2. Description of the Related Art
Introduction
This section introduces aspects that may help facilitate a better understanding of the invention. Accordingly, the statements of this section are to be read in this light and are not to be understood as admissions about what is prior art or what is not prior art.
FIG. 1 shows a schematic block diagram of signal-processing system 100, which implements a conventional linearization scheme that employs digital pre-distortion to linearize an analog sub-system 130 having a non-linear amplifier 134. Signal-processing system 100 receives a digital input signal x[n] and generates a linearized, amplified, analog output signal yamp (t).
In particular, the digital (e.g., baseband or IF (intermediate frequency)) input signal x[n] is processed by digital pre-distortion (DPD) module 114 to yield a pre-distorted digital signal xpd [n], which is converted into an analog pre-distorted signal xpd (t) using a digital-to-analog converter (DAC) 120. The output of the DAC is frequency converted to a desired frequency (e.g., RF (radio frequency)) using upconverter 132 to yield an RF analog pre-distorted signal xpd—rf (t)=Re{xpd (t)ejwct}. The RF signal xpd—rf (t) is amplified by non-linear amplifier 134 to yield the output signal yamp (t).
Purpose of Digital Pre-Distortion
The purpose of the digital pre-distortion in signal-processing system 100 is to ensure that the output signal yamp (t) is close to a linear scaled version of the (theoretical) analog version x(t) of the digital input signal x[n]. That is, yamp (t)≅Gx(t), where G is a constant. Note that, in the above notation, the digital signal x[n] is a sampled version of the analog signal x(t).
Computation of the Digital Pre-Distortion Function
In a typical implementation, a small portion of the amplifier output signal yamp (t) is removed at tap 140 and mixed down to a suitable intermediate frequency (IF) (or, alternatively, to baseband) using a downconverter 150. The resulting downconverted feedback signal yfb (t) is digitized using an analog-to-digital (ADC) converter 160 to yield digital feedback signal yfb [n].
The digital pre-distortion function implemented by module 114 is initially computed and subsequently adaptively updated by comparing the input signal x[n] with the feedback signal yfb [n] using a controller (not shown in FIG. 1) that may be implemented as part of or separate from DPD module 114. The computation can be performed in one of (at least) the following two ways:
1) In a non-real-time implementation, a block of samples of the input signal x[n] and a block of samples of the feedback signal yfb [n] are captured and processed by the controller offline to estimate the pre-distortion function. Such estimation is typically performed in a DSP (digital signal processor) or microcontroller.
2) In a real-time implementation, the pre-distortion function is updated by the controller on a sample-by-sample basis using an adaptive non-linear filter structure.
Pre-Processing
In both cases, one or both of the signals x[n] and yfb [n] are pre-processed before the controller estimates the pre-distortion function. The pre-processing aligns the delays, gains, and phases of the two signals. Mathematically, this can be described as follows:
Estimate the delay τ and the complex gain α that minimizes the cost function:E{(x[n−τ]−αyfb[n])2},where E{·} denotes the expectation value operator (or average). In the non-real-time implementation, minimizing the cost function reduces to estimating values for the delay τ and the complex gain α that minimize the cost function in the least-squares sense. Note that the delay τ and the complex gain α can be estimated successively and/or jointly. Also, note that the delay τ can be a fractional delay. Techniques for least-squares estimation are well-known. See, for example, W. H. Press, B. P. Flannery, S. A. Teukolsky, and W. T. Vetterling, Numerical Recipes: The Art of Scientific Computing (New York: Cambridge University Press, 1986), the teachings of which are incorporated herein by reference.
Digital Pre-Distortion Function
After the pre-processing, the digital pre-distortion can be described as estimating the arbitrary non-linear function ƒpd (·) that minimizes the cost function:E{(fpd(x[n−τ],x[n−τ−1],x[n−τ+1], . . . )−αyfb[n])2}.  (1)
Limitations of Prior Art
The digital pre-distortion function is a discrete-time implementation of the following function:xpd[n]=fpd(x[n−τ],x[n−τ−1],x[n−τ+1], . . . )  (2)where τ is a delay and fpd (·) is an arbitrary function.
An alternative representation of the above function is:
                                                                                          x                  pd                                ⁡                                  [                  n                  ]                                            =                            ⁢                                                f                  pd                                (                                                      x                    ⁡                                          [                                              n                        -                        τ                                            ]                                                        ,                                      x                    ⁡                                          [                                              n                        -                        τ                        -                        1                                            ]                                                        ,                                      x                    ⁡                                          [                                              n                        -                        τ                        +                        1                                            ]                                                        ,                  …                                ⁢                                                                  )                                                                                        =                            ⁢                                                (                                                                                    f                        pd                                            (                                                                        x                          ⁡                                                      [                                                          n                              -                              τ                                                        ]                                                                          ,                                                  x                          ⁡                                                      [                                                          n                              -                              τ                              -                              1                                                        ]                                                                          ,                                                  x                          ⁡                                                      [                                                          n                              -                              τ                              +                              1                                                        ]                                                                          ,                        …                                            ⁢                                                                                          )                                                              x                      ⁡                                              [                                                  n                          -                          τ                                                ]                                                                              )                                ·                                                                                                      ⁢                              x                ⁡                                  [                                      n                    -                    τ                                    ]                                                                                                        =                            ⁢                                                                    g                    pd                                    (                                                            x                      ⁡                                              [                                                  n                          -                          τ                                                ]                                                              ,                                          x                      ⁡                                              [                                                  n                          -                          τ                          -                          1                                                ]                                                              ,                                          x                      ⁡                                              [                                                  n                          -                          τ                          +                          1                                                ]                                                              ,                    …                                    ⁢                                                                          )                                ·                                                                                                      ⁢                              x                ⁡                                  [                                      n                    -                    τ                                    ]                                                                                                        =                            ⁢                                                                    g                    pd                                    ⁡                                      [                    n                    ]                                                  ·                                  x                  ⁡                                      [                                          n                      -                      τ                                        ]                                                                                                          (        3        )            where gpd [n] is the pre-distortion gain.
Let xpd (t), gpd (t), x(t−τ) denote the continuous time equivalents of the digital signals xpd [n], gpd [n], x[n−τ]. That is:xpd[n]=x(t)t=nT gpd[n]=gpd(t)t=nT x[n−τ]=x(t−τ)t=nT  (4)where Fs=1/T is the sample rate of the signals.
From signal theory, multiplication of signals in the time domain is equivalent to the convolution (“*”) of the corresponding spectrums in the frequency domain. Let Xpd (f), Gpd (f), X (f) denote the Fourier transforms of xpd (t), gpd (t), x(t−τ), respectively. Then we can write:Xpd(f)=Gpd(f)*X(f).  (5)
Let us denote the signal bandwidths of the signals xpd (t), gpd (t), x(t−τ) by BWxpd, BWgpd, BWx.
Therefore, from Equation (5):BWxpd=BWgpd+BWx  (6)In other words, the bandwidth BWxpd of the pre-distorted signal is equal to the sum of the bandwidth BWgpd of the pre-distortion gain and the bandwidth BWx of the input signal. If the theoretical bandwidth BWxpd of the pre-distorted signal is larger than the signal sample rate Fs (i.e., BWxpd>Fs), then the pre-distortion signal will have aliasing products from sampling. These aliasing products can result in degradation of the pre-distortion performance.